Component-based icon construction and customization system

ABSTRACT

System and method for constructing and customizing icons for use in a graphical user interface (GUI) is disclosed. A GUI is provided with a set of available user interface components that may be selected and combined by a user to create new icons or to modify existing icons. Each icon comprises a plurality of components and each component may be represented by a set of primitives, or component objects. With respect to each component, a user may select an object from the set of objects to represent the component and the selected objects are combined to create a coherent icon used for representing applications, functions and documents in an operating system or applications program. The combination of the component objects is performed based on sets of rules associated with the individual components, which rules dictate the positioning, scaling, graphical combination and available coloring of the component. In this manner, the creation and modification of icons is accomplished by manipulating objects, rather than bits.

This is a continuation of application Ser. No. 08/105,605, filed on Aug.12, 1993, now abandoned.

TECHNICAL FIELD

The invention relates generally to computer graphical user interfaces(GUIs) and, more particularly, to an object-oriented system forconstructing and customizing icons for use in such GUIs.

BACKGROUND OF THE INVENTION

Conventional graphical user interfaces (GUIs), such as MicrosoftWindows, make extensive use of graphic elements, or icons, to representcomputer applications, functions and documents. These icons may bedirectly manipulated by a user, using a mouse or other such pointingdevice, to perform useful tasks. For example, an document icon may be"dragged" to and "dropped" on a printer icon to cause a documentrepresented by the document icon to be printed on a printer representedby the printer icon.

Existing GUIs employ bit-oriented methods to enable a user to create newicons or to modify existing icons in which a pointing device is used tomanipulate individual bits of a graphic pad area of a GUI window. ManyGUIs provide enhancements to the basic bit-manipulation technique in theform of predefined drawing elements, or "tools", such as circles andrectangles, and various coloring methods, such as color fills, gradientfills and textures. To create or modify an icon, a user selects a toolfrom a "tool palette" contained within the window and selects a color tobe associated with the selected tool from a "color palette" containedwithin the window, and then "paints" an icon on the the graphic pad areain a bit-oriented fashion. The completed icon is stored as a bit-mappedimage in the computer's memory.

Such bit-oriented icon construction and modification methods enable auser to create detailed and unique icons, because each bit in thegraphic pad area is independently manipulable. Furthermore, there are norules governing how the icon must be constructed, so that any uniformityamong various icons is a function of the discipline of the user and thefew constraints on the GUI program. These advantages quickly becomedisadvantages, however, in situations in which the user is not a skilledgraphic designer, rapid development of an icon is desirable, or iconuniformity is necessary.

One solution to the above problems involves importing preexisting icons,which may be constructed through cut-and-paste or file importoperations, and overlaying icon elements using a GUI constructionprogram. This is a complicated process which requires an appreciableamount of user expertise and significant computer system overhead.

Another solution involves permitting the user to select icons from apredefined library of icons and to modify icons by manipulating aselected icon in some limited drawing-type application. While thisrequires virtually no expertise or artistic ability on the part of theuser, the number of icons that may be "created" is restricted by theconstraints of the library. Furthermore, a substantial amount of storageis required to maintain an icon library large enough to give the user anacceptable number and variety of icons from which to choose.

Therefore, what is needed is a icon construction and customizationsystem that is easy to use, provides uniformity across designer skilllevels and enables rapid generation of icons, but that does not requirethe user to possess a particular level of artistic skill or designexpertise or restrict a user to a predefined library of icons.

SUMMARY OF THE INVENTION

The foregoing problems are solved and a technical advance is achieved bymethod and apparatus for a component-based icon construction andcustomization system for use in a GUI. In a departure from the art, thesystem of the present invention is object-oriented, rather thanbit-oriented, so that a user can easily modify or create an icon bymanipulating sets of objects associated with individual components ofthe icon.

In a preferred embodiment, the system of the present invention includesa GUI window having a graphic pad area in which an icon comprising aplurality of components may be created or modified, and a number ofcontrol buttons, each of which corresponds to a particular iconcomponent. At any given time, the appearance of an icon component, andthus the appearance of the icon, will be defined by a selected one of aset of "objects" associated with the component. For example, assumingthe selected icon is an image of a human face, one component might be"hair," and each object in the set associated with the component mightrepresent a different hair style.

Each object is stored as an individual file in a memory of the computerand the individual files corresponding to the set of objects associatedwith a particular component are sequentially indexed into a file set. Toview the various options available with respect to the appearance of aparticular component, and thereby modify the appearance of the icon, theuser uses a pointing device, such as a mouse, to select the controlbutton associated with the component to be modified. When thecorresponding button is selected, the graphical image of the currentlyindexed object is removed from the graphic pad area, an index to theobject set is incremented, and the graphical image of the newly indexedobject is loaded from its file and overlayed on the icon according torules associated with the component, which relate to the positioning,scaling and coloring of the component. Because the system isobject-oriented, the graphical image of the currently indexed objectwill automatically "appear" in the graphics pad area in the correctlocation and size relative to the other icon components. In theabove-described manner, the user may "scroll" through the objectsavailable for modifying a particular component of the icon simply byselecting the appropriate control button.

Once the user is satisfied with the appearance of the icon, the user mayaccept the icon by selecting an "OK" control button provided within thewindow. The accepted icon is then stored for future use, either as a newicon object (i.e., a new bit map or primitive icon) or as a combinationof the current object indices. In a preferred embodiment, the formerstorage method is utilized, so that the icons may be manipulated byother applications, and storage of the icon is based on theidentification of the selected objects, so that a primitive icon simplyreferences the appropriate object files. However, the latter storagemethod results in a significant reduction in storage requirements.

In alternative embodiments, pull-down-menus, rather than controlbuttons, may be used for selecting objects or "drag-and-drop" operationsmay be used to pull selected objects to the graphic pad area and overlaythem on the icon according to rules associated with the representedcomponent.

In one aspect of the invention, icons created or modified in accordancewith the present invention may be used to identify users in amultiple-user computer environment. For example, instead being requiredto "sign-on" by typing his or her name, a user would simply select hisor her personal identification icon from a set of icons displayed in adialog box, wherein each displayed icon represents a different user ofthe computer system. The same personal identification icon may also bedisplayed on active GUI windows throughout the time a user is signed-onto the computer system to identify the current user to other systemusers.

A technical advantage achieved with the invention is that a user is notrestricted to selecting an icon from a predefined library of icons inorder to create a new icon or to change an existing icon.

Another technical advantage achieved with the invention is that a useris not required to possess any level of artistic skill or designexpertise in order to create new or modify existing icons.

Another technical advantage achieved with the invention is that itenables icons to be generated more rapidly than many bit-orientedmethods of creating and modifying icons.

Another technical advantage achieved with the invention is that itenables users to construct icons which resemble themselves, which iconsmay be used for sign-on and identification purposes in multiple-usercomputer environments.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a pictorial view of a prior art window for creating an icon.

FIG. 2 is a pictorial view of a prior art window for modifying an icon.

FIG. 3 is a pictorial view of a window of a component-based iconconstruction and customization system embodying features of the presentinvention.

FIG. 4 is a pictorial view of the window of FIG. 3 after an iconcomponent has been modified in accordance with the present invention.

FIG. 5 is a pictorial view of a sample set of objects for representing a"hair" component of a particular icon.

FIG. 6 is a pictorial view of a sample set of objects for representingan "eyes" component of a particular icon.

FIG. 7 is a pictorial view of a sample set of objects for representing a"nose" component of a particular icon.

FIG. 8 is a pictorial view of a sample set of objects for representing a"lips" component of a particular icon.

FIG. 9 is a block diagram of a graphic pad area object in which indicesto the icon component objects of FIGS. 5-8 are stored.

FIG. 10 is a block diagram of a control button object for responding tothe selection of a corresponding control button.

FIG. 11 is a block diagram of a window object of the window of FIG. 3.

FIG. 12 is a flowchart of a "create window" routine for implementing thesystem of the present invention

FIG. 13 is a flowchart of a "process selection" routine for implementingthe system of the present invention.

FIG. 14 is a flowchart of a "draw pad" routine for implementing thesystem of the present invention.

FIGS. 15A-15C are pictorial views of dialog boxes for implementing aparticular application of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENT

Referring to FIG. 1, a window of a prior art icon creation andmodification system, in which a user selects an icon from a predefinedlibrary of icons, is designated generally by the reference numeral 10.The window 10 includes a border, or frame, 12 that bounds the window 10.Within the border 12 are a title bar 14, a field 16 containing the filename of the icon being modified, a field 17 containing a collection ofselectable icons 18, a scroll bar 20 for enabling a user to scrollthrough the icons 18, an "OK" button 22 for accepting a selection, a"CANCEL" button 24 for canceling a selection, a "BROWSE" button 26 forbrowsing through other collections of icons and a "HELP" button 28 forcausing help information to be displayed. In the illustrated embodiment,an icon 30 is selected.

While the window 10 is active, a user may select an icon, such as theicon 30, from the collection of icons 18 that are currently displayed ormay view other collections of icons within the icon library (not shown)by using a pointing device, such as a mouse or cursor keys, to selectthe BROWSE button 26. The use of a pointing device to "select" a windowelement, such as an icon or control button, is well known in the art andwill not be further described herein. Once an acceptable icon isdisplayed within the field 17, the user may select the icon using thepointing device and then confirm the selection by selecting the OKbutton 22.

Referring to FIG. 2, a window of a prior art system for creating a newicon or modifying an existing icon is designated generally by thereference numeral 200. The window 200 includes a frame 202 that boundsthe window 200. Within the frame 202 are a title bar 204, a menu bar206, a graphic pad area 208, a color palette 210 and a tool palette 212.

The user may modify bits, or pixels, such as a bit 214, of the graphicpad area 208 using functions represented by a tool icon selected fromthe palette 212. For example, to modify the bit 214 the user selects atool icon, such as the pen icon 216, from the palette 212 and a color tobe associated with the pen from the color palette 210, and then selectsa bit, such as the bit 214, of the graphic pad area 208. To change thecolor associated with the selected tool, and thereby change the color ofsubsequently selected bits, the user simply selects a new color from thepalette 210. Once the user has finished "painting" the graphic pad area208 in the above manner, the user may save the resultant image for useas an icon by the selecting the appropriate function (not shown) fromthe menu bar 206.

Referring to FIG. 3, a window of an icon customization and constructionsystem embodying features of the present invention is designatedgenerally by the reference numeral 300. It is understood that the window300 is generated by a computer comprising a display 301A, a centralprocessing unit (CPU) 301B, a memory 301C and an input device 301D. Thewindow 300 includes a frame 302 that bounds the window 300. Within theframe 302 are a title bar 304, a graphic pad area 306, control buttons308-317, each associated with a component of a selected icon, an "OK"button 318, a "CANCEL" button 320 and a "HELP" button 322.

In operation, the user uses the window 300 in combination with apointing device (not shown) to construct or customize an icon 324, usingthe control buttons 308-317 to select images, or objects, from sets ofobjects associated with each component of the icon 324. In theembodiment illustrated in FIG. 3, the icon 324 is an image of a humanface and comprises a plurality of components that may be modified by auser, including hair, eyes, nose and mouth components 326a-326d,respectively. The color of the respective components, such as the haircolor and skin color of the icon 324, may also be modified by the user,as will be described.

To modify one of the components 326a-326d, the user selects the controlbutton 308-314 corresponding to the component to be modified. Forexample, assuming the user wants to modify the hair component 326a ofthe icon 324, the user selects the control button 308, labeled "Hair."As a result, the icon 324 is "redrawn" as an icon 324A, as shown in FIG.4. The icons 324 and 324A are identical except for the hair stylesthereof. The user may continue to view alternative hair styles byselecting the button 308 until an acceptable hair style is displayed oruntil all of the alternatives have been displayed, at which point thehair styles are repeated. Similarly, the control buttons 310, 312 and314, which are labeled "Eyes," "Nose," and "Lips," respectively, may beselected to change the appearance of the eyes, nose and mouth components326b-326d of the icon 324.

As will be described in detail with reference to FIGS. 9-11, each of thecomponents 326a-326d may be represented by an object selected from a setof objects associated with the particular component. Each object isstored as a separate file, and all files corresponding to a singlecomponent are combined into single indexed set to be referenced by thecomponent. FIG. 5 depicts a sample set of objects that may be selectedto represent the hair component 326a. FIG. 6 depicts a sample set ofobjects that may be selected to represent the eyes component 326b. FIG.7 depicts a sample set of objects that may be selected to represent thenose component 326c. FIG. 8 depicts a sample set of objects that may beselected to represent the mouth component 326d.

With regard to hair and skin color of the icon 324, objects associatedwith a skin component of the icon 324 contain a "hot spot" for enablingthe component to be "color-filled" with a color selected by the userusing the button 317. Each object associated with the hair component326a contains two such hot spots, each hot spot being associated with aportion of the component 326a to enable depiction of bald or baldinghairstyles. To change the color of the hair component 326a, the user"scrolls" through the various hair color alternatives by selecting thebutton 316 until an appropriate color color-fills the the hair component326a.

Once the user has selected appropriate objects for each component and issatisfied with the appearance of the icon 324, the user may save theicon for use with various other application programs by selecting the OKbutton 318. The saved icon is stored based on the identification of theselected objects, which define the appearance of the icon, so that aprimitive merely references the object files of the selected objects.

The preferred embodiment of the invention is implemented using anobject-oriented programming approach. In addition to the objects forrepresenting the icon components, there are four additional objects ofimportance, including an object representing the icon 324, an objectrepresenting the graphic pad area 306, an object representing the window300, and objects representing the control buttons 308-322. The firstobject, representing icon 324, is a data-only object that is a primitiveof the operating system of the computer on which the system isimplemented. In the preferred embodiment, the operating system isMicrosoft Windows, although the system may be implemented using anynumber of different operating systems.

FIG. 9 is a block diagram of an object 900 representing the graphic padarea 306. The graphic pad area object 900 contains seven relevant dataelements, including an element 902 which contains a reference to thecurrent icon, elements 904-910 which contain indices to the currenthair, eyes, nose and lips objects, respectively, and elements 912-914which contain references to the current hair color and skin color. Thegraphic pad area object 900 also contains nine relevant functions whichinclude functions 916 and 918 for creating and destroying the graphicpad area, functions 920-926 for changing the hair, eye, nose and lipobjects, functions 928 and 930 for changing the hair color and skincolor, and a function 932 for drawing the icon 324 based on the currentvalues of the elements 902-914.

FIG. 10 is a block diagram of an object 1000 representing one of thebuttons 308-322, it being understood that each of the buttons 308-322has associated therewith a button control object similar to the object1000. The button control object 1000 contains one relevant data element1002, which contains a reference to the window object (FIG. 11), and onerelevant function 1004 for responding to user selection of the controlbutton with which the object 1000 is associated.

FIG. 11 is a block diagram of an object 1100 associated with the window300. The window object 1100 contains ten relevant data elements,including an element 1102 which contains a reference to the graphic padarea object 900 (FIG. 9), elements 1104-1110 which contain references tohair, eye, nose and lips button control objects, such as the object 1000(FIG. 10), elements 1112 and 1114 which contain references to hair andskin color button control objects, and elements 1116-1120 which containreferences to the OK, CANCEL and HELP button control objects. The windowobject 1100 also contains four relevant functions, including a createwindow function 1122, a destroy window function 1124, a return iconfunction 1126 and a handle button selection function 1128.

FIGS. 12-14 are flowcharts of the logic used to implement system of thepresent invention. It is understood that the logic is stored as programinstructions in the memory 301C, which instructions are executed by theCPU 301B responsive to user commands entered from the input device 301D.

FIG. 12 is a flowchart of a "create window" routine for creating thewindow 300 and the graphic pad area 306 using the window object 1100(FIG. 11) and the graphic pad area object 1000 (FIG. 10). Executionbegins at step 1200 when the "create window" routine is called by thecomputer's operating system or by an application program executing onthe computer (hereinafter, the "calling program"). At step 1202, thecontrol buttons 308-322 are created. In step 1204, a determination ismade whether a new icon is to be constructed. If a new icon is to beconstructed, execution proceeds to step 1206, in which the componentindices 904-914 are set to default values corresponding to an initialstate of the icon and execution proceeds to step 1208. If in step 1204,an existing icon, such as the icon 324, is to be customized or modified,execution proceeds to step 1210. In step 1210, the component indices904-914 are set to values which index the objects corresponding to thestored state of the icon 324 and execution proceeds to step 1208.

In step 1208, the window 300, graphic pad area 306 and nine buttons308-322 are displayed to the user, as illustrated in FIGS. 3 and 4. Instep 1212, the icon 324, as defined by the objects indexed by theindices 902-914, is drawn in the graphic pad area 306 using a "draw pad"routine (FIG. 14). In step 1224, execution returns to the callingprogram.

FIG. 13 is a flowchart of a routine for processing the selection of oneof the control buttons 308-322. Execution begins at step 1300 when auser selects one of the buttons 308-322. In step 1302, the object 1000of the selected control button communicates its identity to the windowobject 1100. In the preferred embodiment, this step 1302 is implementedby the operating system sending a message to the object 1100; however,other embodiments may accomplish step 1302 by directly invoking anoperating system function. In step 1304, a determination is made whetherthe selected button is one of the CANCEL, HELP, or OK buttons 318-322.If the selected button is not one of the CANCEL, HELP or OK buttons318-322, execution proceeds to step 1306.

In step 1306, the window object 1100 communicates the identity of theselected control button 308-317 to the graphic pad area object 900 bycalling a function in the graphic pad area object 900 that correspondsto the selected button 308-317. In step 1307, the component indexelement 904, 906, 908, 910, 912, or 914 corresponding to the selectedbutton 308, 310, 312, 314, 316, or 317, respectively, is checked todetermine whether the index has reached a maximum value, indicating thatthe last object in the associated object set has been displayed. If so,execution proceeds to step 1307a in which the index is reinitialized andexecution proceeds to step 1308. If in step 1307 the index has notreached a maximum value, execution proceeds directly to step 1308.

In step 1308, the component index element 904, 906, 908, 910, 912, or914 corresponding to the selected button 308, 310, 312, 314, 316, or317, respectively, is incremented to index the next object in theassociated object set. For example, if the user has selected the button308, corresponding to the hair component 326a, the index containedwithin the element 904 will be incremented to index the next object ofthe set of objects representing the hair component 326a (FIG. 5). Instep 1310, the "draw pad" routine (FIG. 14) is used to redraw thegraphic pad area 306 and the icon 324 using the objects indexed by theupdated indices contained within the elements 903-914 of the object 900.In the case of the above example, the icon 324 would be redrawn as theicon 324A.

If in step 1304 the selected button is one of the OK, CANCEL or HELPbuttons 318-322, execution proceeds to step 1312. In step 1312, adetermination is made whether the selected button is the OK button 318.If so, execution proceeds to step 1314, in which the icon 324 isreturned to the calling program using the return icon function 1126 ofthe window object 1100. In the preferred embodiment, the icon 324 asmodified is stored in the memory 301c as a new icon. In step 1316, thebuttons 308-322 and the window 300 are destroyed using the destroywindow function 1124 of the window object 110. Execution then proceedsto step 1318, in which control returns to the calling program.

If in step 1312, it is determined that the selected button is not the OKbutton 318, execution proceeds to step 1320, in which a determination ismade whether the selected button is the CANCEL button 320. If so,execution proceeds to step 1316, in which the buttons 308-322 and thewindow 300 are destroyed and control is returned to the calling programin step 1318. If in step 1320 it is determined that the selected buttonis not the CANCEL button 320, indicating that the selected button mustbe the HELP button 322, execution proceeds to step 1318, in whichappropriate help information is displayed in the window 300 beforecontrol is returned to the calling program in step 1318.

FIG. 14 is a flowchart of a "draw pad" routine of the present invention.Execution begins in step 1400 when the draw pad routine is called by the"create window" routine (FIG. 12). In step 1401, the first componentindex, for example, the hair component index contained in the element902, is referenced. In step 1402, the image of the object indexed by thereferenced index is drawn on the graphic pad area in a location specificto that component. In step 1404, a determination is made whether all ofthe components 326a-326d have been drawn. If not, execution proceeds tostep 1406, in which the next component index, for example, the eyecomponent index contained in the element 906, is referenced andexecution returns to step 1402. Otherwise, execution proceeds to step1408 and control returns to the calling program.

In the manner described, a user can easily create or modify icons foruse in a GUI by manipulating sets of objects corresponding to individualcomponents of an icon, wherein the appearance of each component, andhence the icon, is dictated by the selected object. As described, theobjects are manipulated and selected using control buttons associatedwith the individual components and with certain functions for selectingand canceling selection of components. Objects thus selected areinstantaneously visible on the graphic area pad in the correct locationand scale with respect to the particular component, so that no artisticskill or design expertise is needed to modify or create an icon.Accordingly, a user is given the opportunity to determine whether toaccept the icon as currently depicted or continue to view alternativeselections.

While many useful applications of the present invention are envisioned,in a particular application, icons may be constructed or customized toresemble particular users in a multiple-user computer environment. Suchicons may then be used to identify which user is currently signed on tothe computer system, as well as to identify which user is attempting tosign on. Such a system would constitute a vast improvement over currenttext-based identification systems, in which the name of a current useris the sole means for identifying the user.

For example, referring to FIGS. 15A-15C, in a particular embodiment, adialog box 1500 (FIG. 15A) entitled "Identify" appears on the computerscreen in response to a user's selecting a control button or a pull-downmenu function from a main window of a GUI (not shown) to initiate a signon procedure. The box 1500 comprises a window 1502 containing aplurality of icons 1504a-1504d, each of which is associated with adifferent user of the computer system. In addition, the box 1500contains four control buttons, including a SIGN ON button 1505a, aCREATE USER button 1505b, a CANCEL button 1505c, and a HELP button1505d. The name of the user may also appear in the box 1500 along withthe icon, as shown in FIG. 15A. The current user is identified by anicon corresponding to one of the icons 1504a-1504d and appearing in acurrent user field 1506 of the box 1500. After the user has selected oneof the icons 1504a-1504d, the user may sign on by selecting the SIGN ONbutton 1505a, cancel the selection by selecting the CANCEL button 1505cor receive help information by selecting the HELP button 1505d.Alternatively, rather than selecting one of the icons 1504a-1504d, theuser may create a new icon by selecting the CREATE USER button 1505b, inwhich case the window 300 would appear to facilitate the creation ormodification of an appropriate icon.

If the SIGN ON button 1505a is selected, a dialog box 1510 (FIG. 15B)entitled "Confirm Sign-on" will appear on the screen overlaying the box1500. The box 1510 contains an OK button 1512, a CANCEL button 1514, aHELP button 1516 and a sign on user field 1518, in which the iconselected from the box 1500 appears. In this case, the icon 1504c,corresponding to a user "TED," was selected. To confirm sign-on of theuser identified in the field 1518 and to sign off the user identified inthe field 1506, the user selects the OK button 1512. The user also hasthe option of returning to the box 1500 without signing on, for example,if the user has mistakenly selected another user's icon, by selectingthe CANCEL button 1514, or of viewing help information by selecting theHELP button 1516. It is understood that access to the computer isinhibited, and the sign in process is not complete, until a correctpassword is entered.

If the computer's sign-on procedures require that a password be enteredbefore a user is granted access to the computer, a dialog box 1520 (FIG.15C) entitled "Get Password" will appear on the screen overlaying theboxes 1500, 1510. At this point, the user is required to type his or herpassword in a password field 1522, after which the user may select an OKbutton 1524 to enter the password, the CANCEL button 1526 to return tothe screen 1510, or the HELP button 1528 to view help information.

It is understood that the present invention can take many forms andembodiments. The embodiments shown herein are intended to illustraterather than to limit the invention, it being appreciated that variationsmay be made without departing from the spirit or the scope of theinvention. For example, the icon 324 may comprise any number ofdifferent types of icons. Furthermore, the system may be implemented oncomputers having operating systems other than Microsoft Windows. Inaddition, the sign-on procedure illustrated in FIG. 15 may beaccomplished using images derived from actual photographs of the varioususers, which are bit-mapped in the memory of the computer, rather thanthe icons 1504a-1504d.

Although illustrative embodiments of the invention have been shown anddescribed, a wide range of modification, change and substitution isintended in the foregoing disclosure and in some instances some featuresof the present invention may be employed without a corresponding use ofthe other features. Accordingly, it is appropriate that the appendedclaims be construed broadly and in a manner consistent with the scope ofthe invention.

What is claimed is:
 1. A method of operating a computer system having adisplay screen, the method comprising the steps of:constructing a windowon said display screen; displaying an icon comprising at least two iconcomponents within said window, wherein at least one of said at least twoicon components is a user-modifiable non-text icon component; for eachsaid user-modifiable non-text icon component, selecting an object from aset of objects for representing said user-modifiable non-text iconcomponent by using a pointing device to select a window elementassociated with said user-modifiable non-text icon component, whereinonly one object from said set of objects is displayed on said displayscreen during said selecting step; and for each said user-modifiablenon-text icon component, responsive to said selecting, modifying saidicon by overlaying said selected object on said icon, wherein saidmodifying occurs automatically without additional input from a userfollowing said selecting; wherein said modifying each saiduser-modifiable non-text icon component does not effect a modificationof any other ones of said at least two icon components.
 2. The method ofclaim 1 wherein said step of displaying further comprises overlaying afirst object on said icon to represent said user-modifiable non-texticon component.
 3. The method of claim 2 further comprising the step of,for each said user-modifiable non-text icon component, removing saidfirst object from said icon prior to said overlaying of said selectedobject.
 4. The method of claim 1 wherein said overlaying is performed inaccordance with rules associated with said user-modifiable non-text iconcomponent.
 5. The method of claim 4 wherein said rules define a positionof said overlaying of said selected object on said icon and a size ofsaid selected object relative to said icon.
 6. The method of claim 1further comprising the step of, for each said user-modifiable non-texticon component, removing a currently overlaid object from said iconprior to said overlaying of said selected object.
 7. The method of claim1 further comprising a step of storing said modified icon in a memory ofsaid computer system, wherein said modified icon is stored as aprimitive of an operating system of said computer system whichreferences said selected object.
 8. The method of claim 1 furthercomprising the step of storing said modified icon as a new icon in amemory of said computer system.
 9. The method of claim 1 wherein saidicon comprises a human likeness and each said user-modifiable non-texticon component comprises a hair component, an eyes component, a lipscomponent or a nose component.
 10. The method of claim 1 furthercomprising steps of, for each said user-modifiable non-text iconcomponent:selecting a color to be associated with said user-modifiablenon-text icon component; and color-filling said user-modifiable non-texticon component with said associated color.
 11. The method of claim 1wherein said icon comprises a user identification icon associated with auser of said computer system, the method further comprising computerimplemented steps of:constructing a dialog box on said display screen;displaying said user identification icon in said dialog box; responsiveto a selection of said user identification icon, logging said associateduser on to said computer system.
 12. The method of claim 11 wherein saidlogging on step further comprises the steps of:prompting a user to entera password associated with said user identification icon; determiningwhether said entered password is valid; and preventing said logging onif said entered password is not valid.
 13. The method of claim 11further comprising the computer implemented step of displaying said useridentification icon on said display screen until said associated userhas been logged off of said computer system.
 14. The method of claim 11wherein said selection is performed using a pointing device of saidcomputer system.
 15. The method of claim 11 wherein said useridentification icon resembles said associated user.
 16. A method ofoperating a computer having a display screen, the method comprising thesteps of:constructing a graphical user interface (GUI) window on saiddisplay screen; displaying an icon comprising at least twouser-modifiable non-text components in said GUI window, wherein each ofsaid user-modifiable non-text components is represented by a firstobject of a sequentially indexed set of objects for representing saiduser-modifiable non-text component, wherein said first object isoverlaid on said icon; for each of said user-modifiable non-textcomponents, selecting a first window element to select a differentobject of said sequentially indexed set of objects to be overlaid onsaid icon, wherein only one object of said sequentially indexed set ofobjects is displayed on said display screen at any given time; andresponsive to said selecting of said first window element, modifyingsaid icon by replacing said first object currently overlaid on said iconwith a next object of said sequentially indexed set of objects, whereinsaid modifying occurs automatically without additional input by a userfollowing said selecting.
 17. The method of claim 16 further comprisingthe step of storing said modified icon as a new icon in a memory of saidcomputer responsive to selection of a second window element.
 18. Themethod of claim 16 further comprising a computer implemented step of,responsive to selection of a second window element, storing saidmodified icon as a primitive of an operating system of said computerwhich primitive references an object of said sequentially indexed set ofobjects overlaid on said icon when said second window element isselected.
 19. The method of claim 16 wherein said selection is performedusing a pointing device of said computer.
 20. The method of claim 16further comprising the steps of, for each of said at least twouser-modifiable non-text components:indexing said first object prior tosaid displaying; and responsive to said selection of said first windowelement, incrementing said index to index a next object in saidsequentially indexed set of objects.
 21. The method of claim 16 furthercomprising the steps of:constructing a dialog box on said screen;displaying a plurality of icons within said dialog box, each of saidicons being associated with a user of said computer and having aphysical appearance that resembles a physical appearance of saidassociated user; and responsive to a selection of one of said icons,signing said user associated with said selected icon on to saidcomputer.
 22. A method of operating a computer having a display screen,the method comprising the steps of:constructing a graphical userinterface (GUI) window on said display screen; for each of at least twouser-modifiable non-text icon components, setting an index to referencea first object in a sequentially indexed set of objects for representingsaid user-modifiable non-text icon component; displaying an icon in saidGUI window, wherein for of said at least two user-modifiable non-texticon components said first object is overlaid on said icon to representsaid user-modifiable non-text icon component; for each of said at leasttwo user-modifiable non-text icon components, responsive to useractuation of a first control button of said GUI window, incrementingsaid index to reference a next object in said sequentially indexed setof objects; for each of said at least two user-modifiable non-text iconcomponents, modifying said icon using said next object, wherein saidmodifying occurs automatically and without additional input from a userfollowing said selecting; and responsive to user actuation of a secondcontrol button of said GUI window, storing said modified icon in amemory of said computer; wherein for each of said at least twouser-modifiable non-text icon components, only the object of saidsequentially indexed set of objects which is referenced by said index isdisplayed on said display screen at a given time.
 23. The method ofclaim 22 wherein said step of modifying further comprises:removing saidfirst object from said icon; and overlaying said next object on saidicon; wherein said overlaying of said next object is performed inaccordance with rules associated with said user-modifiable non-text iconcomponent.
 24. The method of claim 23 wherein said rules define alocation and position of said overlaying of said next object and a sizeof said next object relative to said icon.
 25. The method of claim 22wherein said user actuation of a first control button of said GUI windowis performed using a pointing device of said computer to select saidfirst or second control button.
 26. The method of claim 22 furthercomprising the step of, for each of said at least two user-modifiablenon-text icon components, resetting said index to index said firstobject once said index has reached a maximum value.
 27. The method ofclaim 22 further comprising the steps of:constructing a dialog box onsaid screen; displaying a plurality of icons within said dialog box,each of said icons being associated with a user of said computer andhaving a physical appearance that resembles a physical appearance ofsaid associated user; and responsive to a selection of one of saidicons, signing said user associated with said selected icon on to saidcomputer.
 28. In a computer having a display screen, a system forconstructing and modifying a user-selected icon in a window displayed onsaid display screen, said user-selected icon comprising at least twoicon components, wherein at least one of said at least two iconcomponents is a user-modifiable, non-text icon component, the systemcomprising, for each of said user-modifiable non-text icon components:afirst object overlaid on said user-selected icon for representing saiduser-modifiable non-text icon component; a plurality of additionalobjects for representing said user-modifiable non-text icon component,wherein said additional objects are not displayed on said display screenwhile said first object is overlaid on said user-selected icon; meansfor selecting one of said additional objects; and means responsive tosaid selection for modifying said user-selected icon by removing saidfirst object from said user-selected icon and overlaying said selectedone of said additional objects, wherein said removing and overlaying areperformed automatically and without additional input from a userfollowing said selecting; wherein said modifying of said user-modifiablenon-text icon component does not effect a modification of any other onesof said at least two icon components.
 29. The system of claim 28 whereineach of said objects is stored as a bit-map image file in a memory ofsaid computer.
 30. The system of claim 29 wherein said image files arestored as a sequentially indexed set of files, said system furthercomprising means for indexing said set, wherein an initial value of saidindex references an image file of said first object.
 31. The system ofclaim 30 wherein said means for selecting further comprises means forincrementing said said index upon selection of one of said objects suchthat said index references an image file of said selected object. 32.The system of claim 28 further comprising:user selectable means forcausing said modified icon to be stored in a memory of said computer asa primitive of an operating system of said computer, wherein saidprimitive references said selected object.
 33. The system of claim 28further comprising:user selectable means for causing said modified iconto be stored as a new icon in a memory of said computer.
 34. The systemof claim 28 wherein said means for selecting comprises a user-selectablewindow element associated with said user-modifiable non-text iconcomponent.
 35. The system of claim 28 further comprising:means foroverlaying said selected object on said at least one component inaccordance with rules associated with said at least one icon component,wherein said rules define a location of said overlaying of said selectedobject on said user-selected icon and a size of said selected objectrelative to said user-selected icon.
 36. The system of claim 28 whereinsaid icon comprises an image of a human face and each saiduser-modifiable non-text icon component comprises a hair component, aneyes component, a lips component or a nose component.
 37. The system ofclaim 28 wherein said system further comprises, for each saiduser-modifiable non-text icon component:means for selecting a color ofsaid user-modifiable non-text icon component; and means forcolor-filling said user-modifiable non-text icon component.
 38. Thesystem of claim 28 further comprising:means for constructing a dialogbox on said display screen; means for displaying a plurality of iconswithin said dialog box, each of said icons being associated with a userof said computer and having a physical appearance that resembles aphysical appearance of said associated user; and means responsive to aselection of one of said icons for signing said user associated withsaid selected icon on to said computer.
 39. In a computer having adisplay screen, a system for constructing or modifying an icon having atleast two user-modifiable non-text components, the system comprising:agraphical user interface (GUI) window for displaying said icon; for eachof said at least two user-modifiable non-text components, a plurality ofobjects for representing said user-modifiable non-text component,wherein no more than one of said plurality of objects are displayed onsaid display screen at a given time; and for each of said at least twouser-modifiable non-text components, at least one first window elementassociated with said user-modifiable non-text component, wherein eachtime said at least one first window element is selected by a user, adifferent one of said plurality of objects is selected; wherein for eachof said at least two user-modifiable non-text components, said selectedobject is automatically overlaid on said icon in the proper locationwithout further input from said user following said selecting anddefines the appearance of said at least one user-modifiable non-textcomponent.
 40. The system of claim 39 wherein said GUI window furthercomprises a graphic area pad in which said icon is displayed.
 41. Thesystem of claim 39 further comprising:for each of said at least twouser-modifiable non-text components, means for overlaying said selectedobject on said user-modifiable non-text component in accordance withrules associated with said user-modifiable non-text component, whichrules define the position of said selected object relative to said iconand the size of said object.
 42. The system of claim 39 wherein for eachof said at least two user-modifiable non-text components, said pluralityof objects are sequentially indexed into a set of objects associatedwith said user-modifiable non-text component.
 43. The system of claim 42further comprising:for each of said at least two user-modifiablenon-text components, means for indexing said selected object.
 44. Thesystem of claim 43 further comprising:for each of said at least twouser-modifiable non-text components, means for incrementing saidindexing means upon actuation of said at least one first window element.45. The system of claim 39 further comprising:a second window element,wherein selection of said second window element results in said modifiedicon being stored in a memory of said computer as a primitive of anoperating system of said computer, wherein said primitive referencessaid selected object.
 46. The system of claim 39 further comprising:asecond window element, wherein selection of said second window elementresults in said modified icon being stored as a new icon in a memory ofsaid computer.
 47. The system of claim 39 further comprising:means forconstructing a dialog box on said display screen; means for displaying aplurality of icons within said dialog box, each of said icons beingassociated with a user of said computer and having a physical appearancethat resembles a physical appearance of said associated user; and meansresponsive to a selection of one of said icons for signing said userassociated with said selected icon on to said computer.